// console.log('hi');
// console.log('你好，世界');
// const os = require('os');
// console.log(os.version(), os.tmpdir());

// const axios = require('axios');

// axios.get('http://api.jirengu.com/getWeather.php?city=beijing')
//     .then(function (response) {
//         console.log(response);
//     })
//     .catch(function (error) {
//         console.log(error);
//     });

// const getScore = require('./mymodule');

// console.log(getScore.score);
// console.log(getScore.getScore('ddd'));

// 回调函数演示

// function doSomething(msg, callback) {
//     console.log(msg);
//     if (typeof callback == "function")
//         callback();
// };

// doSomething("存 5000 块", businessProcess);

// function businessProcess(name) {
//     console.log("稍等，马上办理");
//     console.log('2 分钟后，您的业务已办理完毕');
// }

// doSomething("存 5000 块", 50000);

// function doSomething(msg, callback) {
//     console.log(msg);
//     if (typeof callback == "function")
//         callback();
// };

// doSomething("存 5000 块", function () {
//     console.log("稍等，马上办理");
//     setTimeout(function () { console.log('2 分钟后，您的业务已办理完毕'); }, 2000);
//     // console.log('2 分钟后，您的业务已办理完毕');
// });

// setTimeout(function () { console.log('5'); }, 5000);
// console.log('1');
// function test() {
//     setTimeout(function () { console.log('2'); }, 1000);
// }
// test();

// console.log('3');
// setTimeout(function () { console.log('4'); }, 2000);
// const fs = require('fs');

// fs.readFile('./files/1.txt', 'utf8', function (err, data) {
//     if (err) {
//         throw err;
//     }
//     console.log(data);
// });

// fs.readFile('./files/2.txt', 'utf8', function (err, data) {
//     if (err) {
//         throw err;
//     }
//     console.log(data);
// });

// fs.readFile('./files/3.txt', 'utf8', function (err, data) {
//     if (err) {
//         throw err;
//     }
//     console.log(data);
// });

const fs = require('fs');
// fs.readFile('./files/1.txt', 'utf8', function (err, data) {
//     if (err) {
//         throw err;
//     } else {
//         console.log(data);
//         fs.readFile('./files/2.txt', 'utf8', function (err, data) {
//             if (err) {
//                 throw err;
//             } else {
//                 console.log(data);
//                 fs.readFile('./files/3.txt', 'utf8', function (err, data) {
//                     if (err) {
//                         throw err;
//                     } else {
//                         console.log(data);
//                     }
//                 });
//             }
//         });
//     }
// });

// function readFilePromise(path, encoding = "utf8") {
//     const promise = new Promise((resolve, reject) => {
//         fs.readFile(path, (err, data) => {
//             if (err) return reject(err);
//             return resolve(data.toString(encoding));
//         });
//     });
//     return promise;
// }

// readFilePromise("./files/1.txt")
//     .then(res => console.log(res))
//     .then(readFilePromise("./files/2.txt")
//         .then(res => console.log(res)))
//     .then(readFilePromise("./files/3.txt")
//         .then(res => console.log(res)));;

const fsPromises = require("fs").promises;

fsPromises.readFile("./files/1.txt", { encoding: "utf8", flag: "r" })
    .then(console.log)
    .then(fsPromises.readFile("./files/2.txt", { encoding: "utf8", flag: "r" })
        .then(console.log))
    .then(fsPromises.readFile("./files/3.txt", { encoding: "utf8", flag: "r" })
        .then(console.log))
    .catch(console.error);
